import { createStore, createLogger } from 'vuex'
// 导入持久化插件
import createPersistedState from 'vuex-persistedstate'
// 导入子模块
import user from './modules/user'
import cart from './modules/cart'
import cate from './modules/cate'

export default createStore({
  // 注册子模块
  modules: {
    user,
    cart,
    cate
  },
  // 集成插件
  plugins: [
    // 装备1：自动持久化
    /**
     * 总结：
     * 1. 数据发生变化，会自动存储最新数据
     */
    createPersistedState({
      key: 'rabbit-148', // 1. 指定本地存储的属性名
      paths: ['user', 'cart'] // 2. 指定存储数据的范围
    }),
    // 装备2：查看和调试vuex
    createLogger()
  ]
})
